/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.openide.explorer.view; import javax.swing.tree.*; import org.openide.nodes.Node; /** This class provide access to thread safe layer that * reflects the hierarchy of Nodes, but is updated only in * event dispatch thread (in contrast to nodes that can be updated from any thread). * That is why this class is useful for writers of explorer views, * because it guarantees that all changes will be done safely. * <P> * NodeTreeModel, NodeListModel, etc. use these objects as its * model values. * * @author Jaroslav Tulach */ public class Visualizer extends Object { /** No constructor. */ private Visualizer () { } /** Methods that create a tree node for given node. * The tree node reflects the state of the associated node as close * as possible, but is updated asynchronously in event dispatch thread. * <P> * This method can be called only from AWT-Event dispatch thread. * * @param node node to create safe representant for * @return tree node that represents the node */ public static TreeNode findVisualizer (Node node) { return VisualizerNode.getVisualizer (null, node); } /** Converts visualizer object back to its node representant. * * @param visualizer visualizer create by findVisualizer method * @return node associated with the visualizer * @exception ClassCastException if the parameter is invalid */ public static Node findNode (Object visualizer) { if (visualizer instanceof Node) { return (Node)visualizer; } else { return ((VisualizerNode)visualizer).node; } } } /* * Log * 2 Gandalf 1.1 10/22/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 1 Gandalf 1.0 8/27/99 Jaroslav Tulach * $ */